home *** CD-ROM | disk | FTP | other *** search
/ Everything For A Hacker / 19990506-[HACK].iso / SECURE / CRYPT / GOST.ZIP / EXPCHT.ASM < prev    next >
Assembly Source File  |  1995-02-04  |  3KB  |  78 lines

  1. ;------------------------------------------------------
  2. ; Å«ßΓα«Ñ¡¿Ñ αáßΦ¿αÑ¡¡«⌐ Γáí½¿µδ ºá¼Ñ¡ (1024 íá⌐Γ) ¿º
  3. ; Γáí½¿µδ ºá¼Ñ¡ (128 íá⌐Γ) á½ú«α¿Γ¼á  âÄæÆ 28147-89.
  4. ; --------> ñ½∩ 16-í¿Γ«óδσ »α«µÑßß«α«ó 80x86 <---------
  5. ; Éáºαáí«Γá½ é¿¡«¬πα«ó Ç.₧., ú.î«ß¬óá, 1992-1995 ú.
  6. ; (c) 1992-1995, æó«í«ñ¡«Ñ ¬«»¿α«óá¡¿Ñ ¿ ¿ß»«½∞º«óá¡¿Ñ.
  7. ;------------------------------------------------------
  8. ; Åáαá¼ÑΓαδ »α¿ ó맮óÑ »ÑαÑñáεΓß∩ ó ßΓφ¬Ñ :
  9. ; æ¼ÑΘÑ¡¿Ñ ÉẼÑα    Å  Ç  É  Ç  î  à  Æ  É
  10. ;NEAR FAR
  11. ;  2   4      4     FAR-áñαÑß ¿ßσ«ñ¡«⌐ Γáí½¿µδ ºá¼Ñ¡
  12. ;  6   8      4     FAR-áñαÑß «í½áßΓ¿ ñ½∩ αáßΦ¿αÑ¡¿∩
  13. ;------------------------------------------------------
  14. ; ç¡áτÑ¡¿∩ »áαá¼ÑΓα«ó »α¿ óδσ«ñÑ ¡Ñ ¿º¼Ñ¡∩εΓß∩
  15. ;------------------------------------------------------
  16. ;
  17. ; Ä»αÑñѽѡ¿Ñ ¬«¡ßΓá¡Γ
  18. ;
  19.     .model  small,C
  20.     .code   $gost
  21. ExpCht  proc
  22.         public  ExpCht  
  23. ; óδτ¿ß½∩Ѽ ß¼ÑΘÑ¡¿Ñ »áαá¼ÑΓα«ó ó ßΓφ¬Ñ
  24.         a=2             ; ÉÑú¿ßΓα BP ó ßΓφ¬Ñ
  25. IF      (TYPE ExpCht) EQ 0FFFEh
  26.     a=a+2           ; Ñß½¿ gamma - far-»α«µÑñπαá
  27. ENDIF
  28. ; çáñáѼ  ß¼ÑΘÑ¡¿Ñ  áαúπ¼Ñ¡Γ«ó  ó  ßΓφ¬Ñ
  29. ;
  30. src=    2+a
  31. tar=    6+a
  32. ;
  33. ; æ«σαá¡Ñ¡¿Ñ αÑú¿ßΓα«ó »« ß«ú½áΦÑ¡¿∩¼ Æπαí« æ
  34.     push    BP
  35.         mov     BP,SP
  36.         push    DS
  37.     push    SI
  38.     push    DI
  39. ; çáúαπº¬á »áαá¼ÑΓα«ó ó αÑú¿ßΓαδ ¿ »α«τ¿Ñ ¡áßΓα«⌐¬¿
  40.         lds     SI,src[BP]      ; DS:SI   -->  ¿ßΓ«τ¡¿¬
  41.         les     DI,tar[BP]      ; ES:DI   -->  »α¿Ñ¼¡¿¬
  42.         cld
  43. ; û¿¬½  »«  í½«¬á¼  αáßΦ¿αÑ¡¡«⌐  Γáí½¿µδ  ºá¼Ñ¡
  44.         mov     CX,4    ; CX <- τ¿ß½« í½«¬«ó í«½∞Φ«⌐ Æç
  45. blocks:    mov     BX,SI   ; BX<-áñαÑß  ¡áτá½á  ½¿¡¿¿
  46.         add     BX,10h  ;     ßΓáαΦ¿σ íá⌐Γ«ó í½«¬á
  47. ; û¿¬½  »«  ½¿¡¿∩¼  í½«¬á
  48.         push    CX      ; ß«σαá¡¿Γ∞  ßτÑΓτ¿¬ í½«¬«ó
  49.         mov     CX,16   ; ºáúαπº¿Γ∞  ßτÑΓτ¿¬  ½¿¡¿⌐
  50. lines:  push    SI      ; ß«σα. π¬áº. ΓѬπΘ.  í½«¬á
  51.         mov     AH,[BX] ; AH <- ßΓáαΦ¿⌐    »«½πíá⌐Γ
  52.         push    CX      ; ß«σαá¡¿Γ∞   ßτÑΓτ¿¬ ½¿¡¿⌐
  53.         mov     CL,4    ; ßñó¿ú »«½πíá⌐Γá  ¡á ¼ÑßΓ«
  54.         shl     AH,CL   ;    ßΓáαΦÑú«  »«½πíá⌐Γá
  55. ; û¿¬½  »«  íá⌐Γá¼  ½¿¡¿¿
  56.         mov     CX,16   ; ºáúαπº¿Γ∞ ßτÑΓτ¿¬  íá⌐Γ«ó
  57. bytes:  lodsb           ; ºáúαπº¿Γ∞ «τÑαÑñ¡«⌐  íá⌐Γ
  58.     or      AL,AH   ; ñ«íáó¿Γ∞ ßΓáαΦ¿⌐ »«½πíá⌐Γ
  59.         stosb           ; ...  ¿ ºá»¿ßáΓ∞ αѺπ½∞ΓáΓ
  60.         loop    bytes   ; µ¿¬½   »«  íá⌐Γá¼   ½¿¡¡¿
  61. ; Åα«óÑα¬á  µ¿¬½á  »«  ½¿¡¿∩¼
  62.         pop     CX      ; ó«ßßΓá¡«ó. ßτÑΓτ¿¬  ½¿¡¿⌐
  63.         pop     SI      ; ó«ßßΓ. π¬áºáΓ. ΓѬ. í½«¬á
  64.         inc     BX      ; »α«ñó¿¡πΓ∞ π¬áºáΓѽ∞ íá⌐Γ
  65.         loop    lines   ; µ¿¬½  »« ßΓα«¬á¼  Γáí½¿µδ
  66. ; Åα«óÑα¬á  µ¿¬½á  »«  í½«¬á¼
  67.         pop     CX      ; ó«ßßΓá¡«ó. ßτÑΓτ¿¬ í½«¬«ó
  68.         add     SI,20h  ; »α«ñó¿¡πΓ∞  π¬áºáΓ. í½«¬á
  69.         loop    blocks  ; µ¿¬½ »« í½«¬á¼
  70. ; é«ßßΓá¡«ó½Ñ¡¿Ñ αÑú¿ßΓα«ó ¿º ßΓφ¬á
  71.     pop     DI
  72.     pop     SI
  73.     pop     DS
  74.     pop     BP
  75.     ret
  76. ExpCht  endp
  77.     end
  78.